
import { createVNode, render } from 'vue'
import Message from './index.vue'
// 创建一个div标签元素
const div = document.createElement('div')
// 把创建的div标签元素添加到body中
document.body.appendChild(div)

// 弹框展示之后开启一个定时器 如果时间到达 销毁弹框
// 销毁弹框: render函数传进入一个null
let timer = null
function messae ({ type, text, time = 2000 }) {
  // 通过createVNode把message传入创建虚拟dom节点上
  const messegeVnode = createVNode(Message, { type, text })
  // 通过render函数把虚拟dom节点挂载到div上
  render(messegeVnode, div)
  // 开启定时，移出DOM容器内容
  clearTimeout(timer)
  // 开启定时器
  timer = setTimeout(() => {
    //   render是把一个虚拟dom节点挂载到真实dom上 所以设为null 就是清除虚拟dom
    render(null, div)
  }, time)
}

export default messae
